/**
 * 
 */
package cl.duocap.refaxion.view.bean;

import java.io.Serializable;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.context.FacesContext;

import cl.duocap.refaxion.arquitectura.Jsf2Util;
import cl.duocap.refaxion.dto.RepuestoDTO;
import cl.duocap.refaxion.dto.TipoRepuestoDTO;
import cl.duocap.refaxion.servicios.RepuestoService;

/**
 * @author rentonx
 *
 */
@ManagedBean(name="formRepuestoVerBean")
public class FormRepuestoVerBean implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private RepuestoDTO repuestoEditado;
	private List<TipoRepuestoDTO> listaTipoRepuestosObtenida;
	private Map<String,Integer> listaTipoRepuestosCombo;
	@ManagedProperty("#{jsf2Util}")
	private Jsf2Util jsf2Util;
	private int idRepuestoEditar;
	

	/**
	 * 
	 */
	public FormRepuestoVerBean() {
	
	}
	
	@PostConstruct
	public void iniciar(){
		if(FacesContext.getCurrentInstance().isPostback()){
			return;
		}
		
		
				//carga comobo de tipo de resputos
				RepuestoService repuesto = new RepuestoService();
				setListaTipoRepuestosObtenida(repuesto.obtenerTiposRepuestos());
				
				listaTipoRepuestosCombo = new LinkedHashMap<String, Integer>();
				for (TipoRepuestoDTO t : listaTipoRepuestosObtenida) {
					listaTipoRepuestosCombo.put(t.getNombreTipoRepuesto(), t.getIdTipoRepuesto());
				}
				///////////////////////////////////////////////////////////////////////////////////
				cargarRepuestoEditar();
		
	}
	
	public void cargarRepuestoEditar(){
		idRepuestoEditar = Integer.parseInt(jsf2Util.getParameter("idRepuesto"));
		RepuestoService repuesto = new RepuestoService();
		setRepuestoEditado(repuesto.cargarRepuestoEditar(idRepuestoEditar));
	}

	public RepuestoDTO getRepuestoEditado() {
		return repuestoEditado;
	}

	public void setRepuestoEditado(RepuestoDTO repuestoEditado) {
		this.repuestoEditado = repuestoEditado;
	}

	public List<TipoRepuestoDTO> getListaTipoRepuestosObtenida() {
		return listaTipoRepuestosObtenida;
	}

	public void setListaTipoRepuestosObtenida(
			List<TipoRepuestoDTO> listaTipoRepuestosObtenida) {
		this.listaTipoRepuestosObtenida = listaTipoRepuestosObtenida;
	}

	public Map<String, Integer> getListaTipoRepuestosCombo() {
		return listaTipoRepuestosCombo;
	}

	public void setListaTipoRepuestosCombo(
			Map<String, Integer> listaTipoRepuestosCombo) {
		this.listaTipoRepuestosCombo = listaTipoRepuestosCombo;
	}

	public Jsf2Util getJsf2Util() {
		return jsf2Util;
	}

	public void setJsf2Util(Jsf2Util jsf2Util) {
		this.jsf2Util = jsf2Util;
	}

	public int getIdRepuestoEditar() {
		return idRepuestoEditar;
	}

	public void setIdRepuestoEditar(int idRepuestoEditar) {
		this.idRepuestoEditar = idRepuestoEditar;
	}
	
	

}

	